1. Field of the Invention
This invention relates to a numerical control unit which is applied to program control of machine tools or industrial robotic operations or the like.
2. Description of the Related Art
Conventionally, in machine tools or industrial robotic operations, a numerical control unit (NC unit) which decodes and executes a given command program to control the machine tools and the like is utilized.
Numerical Control Unit and Interpolating Operation
A numerical control unit reads in advance a command program in which working commands (position, speed and the like) are sequentially described in a specified format, and, outputs during actual working operations, each command to machine tools and the like at a predetermined time period to execute each specific working operation.
In a recent numerical control unit, in order to improve working accuracy, a command curved line is interpolated so as to make a locus smooth, and interpolation for a two-axes synchronous working operation and the like is performed.
In the above-described interpolation, the interpolating operation is executed by analyzing the command curved line in advance and then approximately reconstructing the analyzed command curved line as a combination of minute blocks of minute straight lines, arcs and the like.
Data Format in Numerical Control Unit
In generating the command program in the foregoing numerical control unit, when cutting work and the like is performed, shape data is sent from a computer aided design system (CAD system) and a command program is generated by utilizing the data (automatic programming) without separately programming.
A B-Spline curved line (Base-Spline) which can draw various curved lines freely is frequently employed for the data format used in the process from he aforesaid CAD design to the automatic generation of the command program. In addition, a NURBS curved line (Non-Uniform Rational B-Spline) which improves non-uniformity in the increase amount of knots of segments of B-Spline curved line has come to be frequently used.
Direct Interpolation in Free Curved Line
The above-described B-Spline curved line or NURBS curved line has a high expressive power in the command curved line so as to represent a freely curved line. On the other hand, the amount of data increases with the improvement of accuracy of a curved line, thereby causing the disadvantage of complicating the aforesaid interpolating operation.
To eliminate the disadvantage, an interpolating system in which an interpolating operation of NURBS curved line is efficiently performed is proposed (See Japanese Patent Laid-open No. Hei 8-305430 Bulletin).
In this system, data to specify a NURBS curved line are directly commanded to a numerical control unit. More concretely, the system is executed in the following order.
First, a command program is described and includes a interpolating command of NURBS curved line in which a command curved line is represented by a function P(t) of the specified parameter t as a variable. Movement per unit of time is calculated by a speed command of the interpolating command and a moving command is outputted. Next, the variation of parameter is calculated during movement based on the calculated moving amount. A value, which is derived after the variation is added to the present value, is substituted for the function of the NURBS curved line in order to obtain a coordinate value to be interpolated, and then the moving amount of each axis relative to the coordinate value is calculated.
Consequently, interpolation of a NURBS curved line can be directly commanded and executed, thereby avoiding complicating the above described interpolation processing operations.
Disadvantage in Prior Art
In the aforesaid direct interpolating system that employs the NURBS curved line, however, the amount of movement per one period in practical interpolation is defined by means of a feed speed commanded by a program so that a disadvantage described hereinafter occurs, and the elimination of the disadvantage has been desired.
Error Caused when the Free curved line Is Interpolated during Discrete-Time Periods
In the case of a free curved line being interpolated during discrete timeperiods, a practically interpolated locus forms a continuity of minute straight lines when it is closely observed. An arc error Ec occurs between the straight line and the commanded line. The arc error Ec is shown by the following formula with a radius of curvature R (mm) in the concerning section of command curved line and with an angle of arc .theta. in a corresponding section. EQU E.sub.c =R(1-cos (.theta.)) (Formula 1)
Error Caused by a Delay of Servo
A servo section by a feedback loop is usually structured from a numerical control unit to an working section of a machine tool and the like. A radius reduction caused by the delay of the servo usually occurs when a curved line locus is drawn in the servo section. If the above-described error that is caused by a delay of the servo exceeds a maximum allowable error during actual working operation, then satisfactory working accuracy can not be obtained.
The error caused by a delay of servo (radius reduction dR (mm)) is shown in the following formula that represents the relationship between a servo loop position control gain .omega.o (rad/sec), a radius of curvature R (mm), and a feed speed F (mm/min). ##EQU1## Error Caused By Mechanical Flexure Due to Centrifugal Force
When a curved line locus is drawn, a mechanical flexure occurs due to centrifugal force, thereby causing an error based on the feed speed and/or the mass of a moving section.
The maximum value of the error Em caused by mechanical flexure due to centrifugal force is expressed by the following formula representing the relationship between a radius of curvature R (mm) in the section of the command curved line, a feed speed F (mm/min), the maximum mass M (kg) of a moving object and the rigidity of feed shaft K (kgf/.mu.m). ##EQU2##
An object of the present invention is to provide a numerical control unit which commands defining data of a free curved line so as to directly interpolate a free curved line and also substantially maintain various errors which occur during the aforesaid process within each allowable value.